Skip to content

feat: Add SCIM scenarios; Fix findings - #1136

Open
gtema wants to merge 1 commit into
mainfrom
claude/loadtest-expansion-stress-u8i0j4
Open

feat: Add SCIM scenarios; Fix findings#1136
gtema wants to merge 1 commit into
mainfrom
claude/loadtest-expansion-stress-u8i0j4

Conversation

@gtema

@gtema gtema commented Jul 31, 2026

Copy link
Copy Markdown
Collaborator

Add ScimRealmRead and ScimSync loadtest scenarios covering raft-backed
federation/SCIM (ADR 0021, 0024): realm CRUD reads/updates via admin
token, and the real IdP-connector lifecycle over /SCIM/v2 with a
per-VU API Key bearer (provision, reconcile, attribute drift,
offboard). Seed setup is now idempotent against a pre-existing SCIM
realm/IdP (no delete endpoint exists, so an interrupted prior run
leaves them behind; 409 now reuses them instead of aborting seed).

While chasing intermittent 401s surfaced by ScimSync under load,
found and fixed two real bugs in the raft-backed auth path:

  • Timing oracle in ApiKeyAuth: the IP-not-allowed rejection branch
    returned immediately while every other rejection branch (not-found,
    inactive, wrong-secret) burns an Argon2id hash first, letting an
    attacker distinguish a valid-but-IP-blocked lookup_hash from a
    nonexistent one by response latency (ADR 0021 Invariant 7). Now
    burns the same dummy-hash cost.

  • Two linearizability gaps in the ReadIndex forward-to-leader path
    (get_by_key/prefix/prefix_index): the leader-side gRPC handlers
    served forwarded reads without re-confirming current leadership,
    and follower-side callers silently fell back to an unguarded local
    read whenever the forward RPC failed. Both fixed.

Signed-off-by: gtema artem.goncharov@gmail.com

Add ScimRealmRead and ScimSync loadtest scenarios covering raft-backed
federation/SCIM (ADR 0021, 0024): realm CRUD reads/updates via admin
token, and the real IdP-connector lifecycle over /SCIM/v2 with a
per-VU API Key bearer (provision, reconcile, attribute drift,
offboard). Seed setup is now idempotent against a pre-existing SCIM
realm/IdP (no delete endpoint exists, so an interrupted prior run
leaves them behind; 409 now reuses them instead of aborting seed).

While chasing intermittent 401s surfaced by ScimSync under load,
found and fixed two real bugs in the raft-backed auth path:

- Timing oracle in ApiKeyAuth: the IP-not-allowed rejection branch
  returned immediately while every other rejection branch (not-found,
  inactive, wrong-secret) burns an Argon2id hash first, letting an
  attacker distinguish a valid-but-IP-blocked lookup_hash from a
  nonexistent one by response latency (ADR 0021 Invariant 7). Now
  burns the same dummy-hash cost.

- Two linearizability gaps in the ReadIndex forward-to-leader path
  (get_by_key/prefix/prefix_index): the leader-side gRPC handlers
  served forwarded reads without re-confirming current leadership,
  and follower-side callers silently fell back to an unguarded local
  read whenever the forward RPC failed. Both fixed.

Signed-off-by: gtema <artem.goncharov@gmail.com>
@github-actions

Copy link
Copy Markdown

🦢 Load Test Results

Goose Attack Report

Plan Overview

Action Started Stopped Elapsed Users
Increasing 26-07-31 18:13:49 26-07-31 18:14:24 00:00:35 0 → 45
Maintaining 26-07-31 18:14:24 26-07-31 18:14:54 00:00:30 45
Decreasing 26-07-31 18:14:54 26-07-31 18:14:55 00:00:01 0 ← 45

Request Metrics

Method Name # Requests # Fails Average (ms) Min (ms) Max (ms) RPS Failures/s
DELETE DELETE /v3/auth/tokens 136 0 180.44 81 356 4.39 0.00
DELETE DELETE /v3/projects/:id (teardown) 1 0 87.00 87 87 0.03 0.00
DELETE DELETE /v3/roles/:id (teardown) 1 0 81.00 81 81 0.03 0.00
DELETE DELETE /v3/users/:id (teardown) 2 0 121.50 92 151 0.06 0.00
GET 1926 0 182.69 90 305 62.13 0.00
GET GET /v3/auth/tokens (validate new) 136 0 172.12 64 238 4.39 0.00
GET GET /v3/auth/tokens (validate revoked) 138 0 159.70 9 222 4.45 0.00
GET GET /v3/projects/:id 178 0 171.71 94 246 5.74 0.00
GET GET /v3/projects/:id (catalog) 265 0 174.34 96 252 8.55 0.00
GET GET /v3/role_assignments 139 0 167.76 93 226 4.48 0.00
GET GET /v3/role_assignments?role.id 137 0 169.19 89 227 4.42 0.00
GET GET /v3/role_assignments?scope.domain.id 138 0 165.61 101 246 4.45 0.00
GET GET /v3/role_assignments?user.id 138 0 162.86 82 233 4.45 0.00
GET GET /v3/roles 354 0 173.07 94 235 11.42 0.00
GET GET /v3/roles/:id 177 0 173.39 90 275 5.71 0.00
GET GET /v3/users/:id 336 0 182.10 97 258 10.84 0.00
GET GET /v3/users/:id (catalog) 334 0 182.07 95 258 10.77 0.00
GET GET /v4/api-keys 193 193 158.32 88 225 6.23 6.23
GET GET /v4/mappings/rulesets 194 194 157.34 92 232 6.26 6.26
GET GET /v4/oauth2/:domain_id/.well-known/openid-configuration 16680 16680 2.13 1 59 538.06 538.06
GET GET /v4/oauth2/:domain_id/clients 195 195 156.59 88 223 6.29 6.29
GET GET /v4/oauth2/:domain_id/jwks 16680 16680 2.12 1 68 538.06 538.06
GET GET /v4/scim_realms 195 195 156.97 75 228 6.29 6.29
POST POST /v3/auth/tokens 136 0 162.65 110 248 4.39 0.00
POST POST /v3/auth/tokens (password, invalid) 42 0 734.83 373 1064 1.35 0.00
POST POST /v3/auth/tokens (password, project-scoped) 77 0 864.31 413 1294 2.48 0.00
POST POST /v3/auth/tokens (password, unscoped) 78 0 741.46 371 1258 2.52 0.00
POST POST /v3/auth/tokens (rescope to system) 313 0 195.86 108 267 10.10 0.00
POST POST /v3/auth/tokens (rescope, invalid project) 189 0 161.93 89 231 6.10 0.00
POST POST /v3/auth/tokens (system-scoped, bootstrap admin) 73 0 852.95 415 1431 2.35 0.00
Aggregated 39581 34137 33.59 1 1431 1276.81 1101.19

Response Time Metrics

Method Name 50%ile (ms) 60%ile (ms) 70%ile (ms) 80%ile (ms) 90%ile (ms) 95%ile (ms) 99%ile (ms) 100%ile (ms)
DELETE DELETE /v3/auth/tokens 180 190 200 210 220 240 340 356
DELETE DELETE /v3/projects/:id (teardown) 87 87 87 87 87 87 87 87
DELETE DELETE /v3/roles/:id (teardown) 81 81 81 81 81 81 81 81
DELETE DELETE /v3/users/:id (teardown) 92 92 92 150 150 150 150 150
GET 180 190 200 210 220 240 260 305
GET GET /v3/auth/tokens (validate new) 170 180 190 200 210 220 230 238
GET GET /v3/auth/tokens (validate revoked) 160 170 180 190 200 210 220 220
GET GET /v3/projects/:id 170 180 190 200 210 220 230 246
GET GET /v3/projects/:id (catalog) 170 180 190 200 210 220 240 250
GET GET /v3/role_assignments 170 180 180 190 200 210 220 226
GET GET /v3/role_assignments?role.id 170 180 190 200 210 210 227 227
GET GET /v3/role_assignments?scope.domain.id 170 170 180 190 200 210 230 246
GET GET /v3/role_assignments?user.id 160 170 180 190 200 210 230 230
GET GET /v3/roles 180 180 190 200 210 210 230 235
GET GET /v3/roles/:id 180 180 190 200 210 220 240 275
GET GET /v3/users/:id 190 190 200 210 220 230 240 258
GET GET /v3/users/:id (catalog) 190 190 200 210 220 230 240 258
GET GET /v4/api-keys 160 170 170 180 190 200 220 225
GET GET /v4/mappings/rulesets 160 160 170 180 190 200 220 230
GET GET /v4/oauth2/:domain_id/.well-known/openid-configuration 1 2 2 3 5 7 13 59
GET GET /v4/oauth2/:domain_id/clients 160 160 170 180 190 190 210 220
GET GET /v4/oauth2/:domain_id/jwks 1 2 2 3 5 7 12 68
GET GET /v4/scim_realms 160 170 170 180 190 200 210 228
POST POST /v3/auth/tokens 160 170 180 190 200 210 230 248
POST POST /v3/auth/tokens (password, invalid) 800 800 800 900 1,000 1,000 1,000 1,000
POST POST /v3/auth/tokens (password, project-scoped) 900 900 1,000 1,000 1,000 1,000 1,000 1,000
POST POST /v3/auth/tokens (password, unscoped) 700 800 800 900 1,000 1,000 1,000 1,000
POST POST /v3/auth/tokens (rescope to system) 200 210 210 220 240 240 260 267
POST POST /v3/auth/tokens (rescope, invalid project) 160 170 180 190 200 210 230 230
POST POST /v3/auth/tokens (system-scoped, bootstrap admin) 900 900 1,000 1,000 1,000 1,000 1,000 1,000
Aggregated 2 2 4 7 170 190 240 1,000

Status Code Metrics

Method Name Status Codes
DELETE DELETE /v3/auth/tokens 136 [204]
DELETE DELETE /v3/projects/:id (teardown) 1 [204]
DELETE DELETE /v3/roles/:id (teardown) 1 [204]
DELETE DELETE /v3/users/:id (teardown) 2 [204]
GET 1,926 [200]
GET GET /v3/auth/tokens (validate new) 136 [200]
GET GET /v3/auth/tokens (validate revoked) 138 [404]
GET GET /v3/projects/:id 178 [200]
GET GET /v3/projects/:id (catalog) 265 [200]
GET GET /v3/role_assignments 139 [200]
GET GET /v3/role_assignments?role.id 137 [200]
GET GET /v3/role_assignments?scope.domain.id 138 [200]
GET GET /v3/role_assignments?user.id 138 [200]
GET GET /v3/roles 354 [200]
GET GET /v3/roles/:id 177 [200]
GET GET /v3/users/:id 336 [200]
GET GET /v3/users/:id (catalog) 334 [200]
GET GET /v4/api-keys 193 [500]
GET GET /v4/mappings/rulesets 194 [500]
GET GET /v4/oauth2/:domain_id/.well-known/openid-configuration 16,680 [500]
GET GET /v4/oauth2/:domain_id/clients 195 [500]
GET GET /v4/oauth2/:domain_id/jwks 16,680 [500]
GET GET /v4/scim_realms 195 [500]
POST POST /v3/auth/tokens 136 [201]
POST POST /v3/auth/tokens (password, invalid) 42 [401]
POST POST /v3/auth/tokens (password, project-scoped) 77 [201]
POST POST /v3/auth/tokens (password, unscoped) 78 [201]
POST POST /v3/auth/tokens (rescope to system) 313 [201]
POST POST /v3/auth/tokens (rescope, invalid project) 189 [401]
POST POST /v3/auth/tokens (system-scoped, bootstrap admin) 73 [201]
Aggregated 34,137 [500], 231 [401], 138 [404], 140 [204], 677 [201], 4,258 [200]

Transaction Metrics

Transaction # Times Run # Fails Average (ms) Min (ms) Max (ms) RPS Failures/s
ReadHeavy
0.0 1 0 42.00 42 42 0.03 0.00
0.1 345 0 183.48 102 249 11.13 0.00
0.2 343 0 174.51 94 242 11.06 0.00
0.3 346 0 174.74 90 257 11.16 0.00
TokenLifecycle
1.0 0 0 0.00 0 0 0.00 0.00
1.1 138 0 678.28 349 919 4.45 0.00
ValidateToken
2.0 0 0 0.00 0 0 0.00 0.00
2.1 294 0 208.12 114 307 9.48 0.00
UserCRUD
3.0 0 0 0.00 0 0 0.00 0.00
3.1 0 0 0.00 0 0 0.00 0.00
3.2 336 0 182.31 97 258 10.84 0.00
3.3 2 0 121.50 92 151 0.06 0.00
ProjectCRUD
4.0 0 0 0.00 0 0 0.00 0.00
4.1 0 0 0.00 0 0 0.00 0.00
4.2 178 0 171.98 94 246 5.74 0.00
4.3 1 0 87.00 87 87 0.03 0.00
RoleCRUD
5.0 0 0 0.00 0 0 0.00 0.00
5.1 0 0 0.00 0 0 0.00 0.00
5.2 177 0 173.60 90 275 5.71 0.00
5.3 1 0 81.00 81 81 0.03 0.00
RoleList
6.0 0 0 0.00 0 0 0.00 0.00
6.1 354 0 173.21 94 235 11.42 0.00
RoleAssignmentList
7.0 0 0 0.00 0 0 0.00 0.00
7.1 139 0 167.83 93 226 4.48 0.00
7.2 138 0 162.96 83 233 4.45 0.00
7.3 138 0 165.73 101 246 4.45 0.00
7.4 137 0 169.58 89 239 4.42 0.00
UserRead
8.0 0 0 0.00 0 0 0.00 0.00
8.1 334 0 184.60 95 305 10.77 0.00
8.2 334 0 182.18 95 258 10.77 0.00
ProjectRead
9.0 0 0 0.00 0 0 0.00 0.00
9.1 264 0 173.28 98 260 8.52 0.00
9.2 265 0 174.66 96 252 8.55 0.00
PasswordAuth
10.0 78 0 741.55 371 1258 2.52 0.00
10.1 77 0 864.39 418 1294 2.48 0.00
PasswordAuthNegative
11.0 42 0 734.95 373 1064 1.35 0.00
Rescope
12.0 0 0 0.00 0 0 0.00 0.00
12.1 313 0 196.01 108 267 10.10 0.00
RescopeNegative
13.0 0 0 0.00 0 0 0.00 0.00
13.1 189 0 162.06 89 231 6.10 0.00
SystemScopeAuth
14.0 73 0 852.97 415 1431 2.35 0.00
ApiKeyCRUD
15.0 0 0 0.00 0 0 0.00 0.00
15.1 0 0 0.00 0 0 0.00 0.00
15.2 192 0 0.00 0 0 6.19 0.00
15.3 193 0 158.40 88 225 6.23 0.00
15.4 1 0 0.00 0 0 0.03 0.00
MappingCRUD
16.0 0 0 0.00 0 0 0.00 0.00
16.1 0 0 0.00 0 0 0.00 0.00
16.2 193 0 0.00 0 0 6.23 0.00
16.3 194 0 157.45 92 232 6.26 0.00
16.4 1 0 0.00 0 0 0.03 0.00
OAuth2ClientCRUD
17.0 0 0 0.00 0 0 0.00 0.00
17.1 0 0 0.00 0 0 0.00 0.00
17.2 194 0 0.00 0 0 6.26 0.00
17.3 195 0 156.67 88 223 6.29 0.00
17.4 1 0 0.00 0 0 0.03 0.00
OAuth2Discovery
18.0 16680 0 2.24 2 68 538.06 0.00
18.1 16680 0 2.24 10 59 538.06 0.00
ScimRealmRead
19.0 0 0 0.00 0 0 0.00 0.00
19.1 194 0 0.00 0 0 6.26 0.00
19.2 195 0 157.14 75 233 6.29 0.00
19.3 194 0 0.00 0 0 6.26 0.00
ScimSync
20.0 0 0 0.00 0 0 0.00 0.00
20.1 0 0 0.00 0 0 0.00 0.00
20.2 0 0 0.00 0 0 0.00 0.00
20.3 8192168 0 0.00 0 30 264263.47 0.00
20.4 8192169 0 0.00 0 26 264263.53 0.00
20.5 8192169 0 0.00 0 31 264263.53 0.00
20.6 1 0 0.00 0 0 0.03 0.00
Aggregated 24616651 0 0.05 2 1431 794085.56 0.00

Scenario Metrics

Transaction # Users # Times Run Average (ms) Min (ms) Max (ms) Scenarios/s Iterations
ReadHeavy 6 343 534.77 352 686 11.06 57.17
TokenLifecycle 3 135 681.97 473 919 4.35 45.00
ValidateToken 2 292 208.31 114 307 9.42 146.00
UserCRUD 2 334 182.35 97 258 10.77 167.00
ProjectCRUD 1 177 172.41 94 246 5.71 177.00
RoleCRUD 1 176 173.88 90 275 5.68 176.00
RoleList 2 352 173.53 94 235 11.35 176.00
RoleAssignmentList 3 137 668.25 478 883 4.42 45.67
UserRead 4 333 367.22 229 525 10.74 83.25
ProjectRead 3 263 348.52 235 464 8.48 87.67
PasswordAuth 4 75 1618.75 858 2368 2.42 18.75
PasswordAuthNegative 1 41 741.37 373 1064 1.32 41.00
Rescope 2 311 196.18 108 267 10.03 155.50
RescopeNegative 1 188 162.30 89 231 6.06 188.00
SystemScopeAuth 2 71 862.49 415 1431 2.29 35.50
ApiKeyCRUD 1 192 158.50 88 225 6.19 192.00
MappingCRUD 1 193 157.46 92 232 6.23 193.00
OAuth2ClientCRUD 1 194 156.60 88 223 6.26 194.00
OAuth2Discovery 3 16679 5.00 0 81 538.03 5559.67
ScimRealmRead 1 194 157.45 75 233 6.26 194.00
ScimSync 1 8192168 0.00 0 34 264263.47 8192168.00
Aggregated 45 8212848 0.16 75 2368 264930.59 8200100.00

Error Metrics

Method Name # Error
POST POST /v3/auth/tokens (password, invalid) 106 401 Unauthorized: POST /v3/auth/tokens (password, invalid)
POST POST /v3/auth/tokens (rescope, invalid project) 532 401 Unauthorized: POST /v3/auth/tokens (rescope, invalid project)
GET GET /v3/auth/tokens (validate revoked) 558 404 Not Found: GET /v3/auth/tokens (validate revoked)
GET GET /v4/api-keys 286 500 Internal Server Error: GET /v4/api-keys
GET GET /v4/mappings/rulesets 307 500 Internal Server Error: GET /v4/mappings/rulesets
GET GET /v4/oauth2/:domain_id/.well-known/openid-configuration 37821 500 Internal Server Error: GET /v4/oauth2/:domain_id/.well-known/openid-configuration
GET GET /v4/oauth2/:domain_id/clients 314 500 Internal Server Error: GET /v4/oauth2/:domain_id/clients
GET GET /v4/oauth2/:domain_id/jwks 37823 500 Internal Server Error: GET /v4/oauth2/:domain_id/jwks
GET GET /v4/scim_realms 336 500 Internal Server Error: GET /v4/scim_realms
POST POST /v4/api-keys (setup) 1 500 Internal Server Error: POST /v4/api-keys (setup)
POST POST /v4/mappings/rulesets (setup) 1 500 Internal Server Error: POST /v4/mappings/rulesets (setup)
POST POST /v4/oauth2/:domain_id/clients (setup) 1 500 Internal Server Error: POST /v4/oauth2/:domain_id/clients (setup)

View full report

@github-actions

Copy link
Copy Markdown

🧪 Tempest Identity Compatibility Results (advisory, non-blocking)

rust

Totals
======
Ran: 133 tests in 31.6484 sec.
 - Passed: 63
 - Skipped: 4
 - Expected Fail: 0
 - Unexpected Success: 0
 - Failed: 66
Sum of execute time for each test: 24.8005 sec.
Failed test IDs
===== FAILED TESTS (target=rust) =====
tempest.api.identity.admin.v3.test_application_credentials.ApplicationCredentialsV3AdminTest.test_create_application_credential_with_roles[id-3b3dd48f-3388-406a-a9e6-4d078a552d0e]
tempest.api.identity.admin.v3.test_domains_negative.DomainsNegativeTestJSON.test_create_domain_with_name_length_over_64[id-37b1bbf2-d664-4785-9a11-333438586eae,negative]
tempest.api.identity.admin.v3.test_credentials.CredentialsTestJSON.test_credentials_create_get_update_delete[id-7cd59bf9-bda4-4c72-9467-d21cab278355,smoke]
tempest.api.identity.admin.v3.test_domains_negative.DomainsNegativeTestJSON.test_delete_active_domain[gate,id-1f3fbff5-4e44-400d-9ca1-d953f05f609b,negative]
tempest.api.identity.admin.v3.test_domains.DomainsTestJSON.test_create_domain_without_description[id-2abf8764-309a-4fa9-bc58-201b799817ad]
tempest.api.identity.admin.v3.test_domains.DomainsTestJSON.test_create_update_delete_domain[id-f2f5b44a-82e8-4dad-8084-0661ea3b18cf,smoke]
tempest.api.identity.admin.v3.test_domains.DomainsTestJSON.test_domain_delete_cascades_content[id-d8d318b7-d1b3-4c37-94c5-3c5ba0b121ea]
tempest.api.identity.admin.v3.test_domains.DomainsTestJSON.test_list_domains_filter_by_enabled[id-3fd19840-65c1-43f8-b48c-51bdd066dff9]
setUpClass (tempest.api.identity.admin.v3.test_endpoint_groups.EndPointGroupsTest)
tempest.api.identity.admin.v3.test_default_project_id.TestDefaultProjectId.test_default_project_id[id-d6110661-6a71-49a7-a453-b5e26640ff6d]
tempest.api.identity.admin.v3.test_list_projects.ListProjectsStaticTestJSON.test_list_projects[id-1d830662-22ad-427c-8c3e-4ec854b0af44]
tempest.api.identity.admin.v3.test_policies.PoliciesTestJSON.test_create_update_delete_policy[id-e544703a-2f03-4cf2-9b0f-350782fdb0d3,smoke]
tempest.api.identity.admin.v3.test_policies.PoliciesTestJSON.test_list_policies[id-1a0ad286-2d06-4123-ab0d-728893a76201]
tempest.api.identity.admin.v3.test_domain_configuration.DomainConfigurationTestJSON.test_create_domain_config_and_show_config_groups_and_options[id-9e3ff13c-f597-4f01-9377-d6c06c2a1477]
tempest.api.identity.admin.v3.test_domain_configuration.DomainConfigurationTestJSON.test_create_update_and_delete_domain_config[id-7161023e-5dd0-4612-9da0-1bac6ac30b63]
tempest.api.identity.admin.v3.test_domain_configuration.DomainConfigurationTestJSON.test_create_update_and_delete_domain_config_groups_and_opts[id-c7510fa2-6661-4170-9c6b-4783a80651e9]
tempest.api.identity.admin.v3.test_domain_configuration.DomainConfigurationTestJSON.test_show_default_group_config_and_options[id-11a02bf0-6f94-4380-b3b0-c8dc18fc0d22]
tempest.api.identity.admin.v3.test_groups.GroupsV3TestJSON.test_group_users_add_list_delete[id-1598521a-2f36-4606-8df9-30772bd51339,smoke]
tempest.api.identity.admin.v3.test_groups.GroupsV3TestJSON.test_list_user_groups[id-64573281-d26a-4a52-b899-503cb0f4e4ec]
tempest.api.identity.admin.v3.test_project_tags.IdentityV3ProjectTagsTest.test_list_update_delete_project_tags[id-7c123aac-999d-416a-a0fb-84b915ab10de]
tempest.api.identity.admin.v3.test_projects_negative.ProjectsNegativeStaticTestJSON.test_create_projects_name_length_over_64[id-502b6ceb-b0c8-4422-bf53-f08fdb21e2f0,negative]
tempest.api.identity.admin.v3.test_list_projects.ListProjectsTestJSON.test_list_projects_with_enabled[id-0fe7a334-675a-4509-b00e-1c4b95d5dae8]
tempest.api.identity.admin.v3.test_list_projects.ListProjectsTestJSON.test_list_projects_with_parent[id-6edc66f5-2941-4a17-9526-4073311c1fac]
tempest.api.identity.admin.v3.test_trusts.TrustsV3TestJSON.test_get_trusts_all[id-4773ebd5-ecbf-4255-b8d8-b63e6f72b65d,smoke]
tempest.api.identity.admin.v3.test_oauth_consumers.OAUTHConsumersV3Test.test_create_and_show_consumer[id-c8307ea6-a86c-47fd-ae7b-5b3b2caca76d]
tempest.api.identity.admin.v3.test_oauth_consumers.OAUTHConsumersV3Test.test_delete_consumer[id-fdfa1b7f-2a31-4354-b2c7-f6ae20554f93]
tempest.api.identity.admin.v3.test_inherits.InheritsV3TestJSON.test_inherit_assign_check_revoke_roles_on_projects_group[id-26021436-d5a4-4256-943c-ded01e0d4b45]
tempest.api.identity.admin.v3.test_oauth_consumers.OAUTHConsumersV3Test.test_list_consumers[id-09ca50de-78f2-4ffb-ac71-f2254036b2b8]
tempest.api.identity.admin.v3.test_oauth_consumers.OAUTHConsumersV3Test.test_update_consumer[id-080a9b1a-c009-47c0-9979-5305bf72e3dc]
tempest.api.identity.admin.v3.test_inherits.InheritsV3TestJSON.test_inherit_assign_check_revoke_roles_on_projects_user[id-18b70e45-7687-4b72-8277-b8f1a47d7591]
tempest.api.identity.admin.v3.test_inherits.InheritsV3TestJSON.test_inherit_assign_list_check_revoke_roles_on_domains_group[id-c7a8dda2-be50-4fb4-9a9c-e830771078b1]
tempest.api.identity.admin.v3.test_inherits.InheritsV3TestJSON.test_inherit_assign_list_check_revoke_roles_on_domains_user[id-4e6f0366-97c8-423c-b2be-41eae6ac91c8]
tempest.api.identity.admin.v3.test_inherits.InheritsV3TestJSON.test_inherit_assign_list_revoke_user_roles_on_domain[id-3acf666e-5354-42ac-8e17-8b68893bcd36]
tempest.api.identity.admin.v3.test_inherits.InheritsV3TestJSON.test_inherit_assign_list_revoke_user_roles_on_project_tree[id-9f02ccd9-9b57-46b4-8f77-dd5a736f3a06]
tempest.api.identity.admin.v3.test_trusts.TrustsV3TestJSON.test_get_trusts_query[id-6268b345-87ca-47c0-9ce3-37792b43403a]
tempest.api.identity.admin.v3.test_trusts.TrustsV3TestJSON.test_trust_expire[id-0ed14b66-cefd-4b5c-a964-65759453e292]
tempest.api.identity.admin.v3.test_roles.RolesV3TestJSON.test_assignments_for_domain_roles[id-3859df7e-5b78-4e4d-b10e-214c8953842a]
tempest.api.identity.admin.v3.test_roles.RolesV3TestJSON.test_assignments_for_implied_roles_create_delete[id-c8828027-df48-4021-95df-b65b92c7429e]
tempest.api.identity.admin.v3.test_roles.RolesV3TestJSON.test_grant_list_revoke_role_to_group_on_domain[id-4bf8a70b-e785-413a-ad53-9f91ce02faa7]
tempest.api.identity.admin.v3.test_roles.RolesV3TestJSON.test_grant_list_revoke_role_to_group_on_project[id-cbf11737-1904-4690-9613-97bcbb3df1c4]
tempest.api.identity.admin.v3.test_roles.RolesV3TestJSON.test_grant_list_revoke_role_to_group_on_system[id-c888fe4f-8018-48db-b959-542225c1b4b6]
tempest.api.identity.admin.v3.test_roles.RolesV3TestJSON.test_grant_list_revoke_role_to_user_on_domain[id-6c9a2940-3625-43a3-ac02-5dcec62ef3bd]
tempest.api.identity.admin.v3.test_trusts.TrustsV3TestJSON.test_trust_impersonate[id-5a0a91a4-baef-4a14-baba-59bf4d7fcace]
tempest.api.identity.admin.v3.test_list_users.UsersV3TestJSON.test_list_users_with_not_enabled[id-bff8bf2f-9408-4ef5-b63a-753c8c2124eb]
tempest.api.identity.admin.v3.test_tokens.TokensV3TestJSON.test_get_available_domain_scopes[id-ec5ecb05-af64-4c04-ac86-4d9f6f12f185]
tempest.api.identity.admin.v3.test_roles.RolesV3TestJSON.test_implied_domain_roles[id-eb1e1c24-1bc4-4d47-9748-e127a1852c82]
tempest.api.identity.admin.v3.test_roles.RolesV3TestJSON.test_implied_roles_create_check_show_delete[id-c90c316c-d706-4728-bcba-eb1912081b69]
tempest.api.identity.admin.v3.test_roles.RolesV3TestJSON.test_role_create_update_show_list[id-18afc6c0-46cf-4911-824e-9989cc056c3a,smoke]
tempest.api.identity.admin.v3.test_tokens.TokensV3TestJSON.test_rescope_token[id-565fa210-1da1-4563-999b-f7b5b67cf112]
tempest.api.identity.admin.v3.test_trusts.TrustsV3TestJSON.test_trust_noimpersonate[id-ed2a8779-a7ac-49dc-afd7-30f32f936ed2]
tempest.api.identity.v3.test_api_discovery.TestApiDiscovery.test_api_media_types[id-657c1970-4722-4189-8831-7325f3bc4265,smoke]
tempest.api.identity.v3.test_api_discovery.TestApiDiscovery.test_api_version_resources[id-b9232f5e-d9e5-4d97-b96c-28d3db4de1bd,smoke]
tempest.api.identity.v3.test_api_discovery.TestApiDiscovery.test_identity_v3_existence[id-79aec9ae-710f-4c54-a4fc-3aa25b4feac3]
tempest.api.identity.v3.test_api_discovery.TestApiDiscovery.test_list_api_versions[id-721f480f-35b6-46c7-846e-047e6acea0dc,smoke]
tempest.api.identity.admin.v3.test_projects.ProjectsTestJSON.test_create_is_domain_project[id-a7eb9416-6f9b-4dbb-b71b-7f73aaef59d5]
tempest.api.identity.admin.v3.test_users_negative.UsersNegativeTest.test_create_user_for_non_existent_domain[id-e75f006c-89cc-477b-874d-588e4eab4b17,negative]
tempest.api.identity.admin.v3.test_projects.ProjectsTestJSON.test_project_create_with_parent[id-1854f9c0-70bc-4d11-a08a-1c789d339e3d]
tempest.api.identity.admin.v3.test_projects.ProjectsTestJSON.test_project_get_equals_list[id-d1db68b6-aebe-4fa0-b79d-d724d2e21162]
tempest.api.identity.v3.test_application_credentials.ApplicationCredentialsV3Test.test_create_application_credential[id-8080c75c-eddc-4786-941a-c2da7039ae61]
tempest.api.identity.v3.test_application_credentials.ApplicationCredentialsV3Test.test_create_application_credential_expires[id-852daf0c-42b5-4239-8466-d193d0543ed3]
tempest.api.identity.v3.test_application_credentials.ApplicationCredentialsV3Test.test_list_application_credentials[id-ff0cd457-6224-46e7-b79e-0ada4964a8a6]
tempest.api.identity.v3.test_application_credentials.ApplicationCredentialsV3Test.test_query_application_credentials[id-9bb5e5cc-5250-493a-8869-8b665f6aa5f6]
tempest.api.identity.admin.v3.test_users.UsersV3TestJSON.test_list_user_projects[id-a831e70c-e35b-430b-92ed-81ebbc5437b8]
tempest.api.identity.v3.test_projects.IdentityV3ProjectsTest.test_list_projects_returns_only_authorized_projects[id-86128d46-e170-4644-866a-cc487f699e1d]
tempest.api.identity.v3.test_catalog.IdentityCatalogTest.test_catalog_standardization[id-56b57ced-22b8-4127-9b8a-565dfb0207e2]
tempest.api.identity.v3.test_tokens.TokensV3Test.test_validate_token[id-a9512ac3-3909-48a4-b395-11f438e16260]
===== END FAILED TESTS (target=rust) =====

View full run

@github-actions

Copy link
Copy Markdown

🐰 Bencher Report

Projectkeystone
Branchclaude/loadtest-expansion-stress-u8i0j4
Testbedubuntu-latest
Click to view all benchmark results
BenchmarkLatencyBenchmark Result
nanoseconds (ns)
(Result Δ%)
Upper Boundary
nanoseconds (ns)
(Limit %)
Command_Serde/apply/remove📈 view plot
🚷 view threshold
137,830.00 ns
(-57.80%)Baseline: 326,579.98 ns
1,641,183.25 ns
(8.40%)
Command_Serde/apply/set📈 view plot
🚷 view threshold
152,380.00 ns
(-57.54%)Baseline: 358,867.92 ns
1,691,409.74 ns
(9.01%)
Command_Serde/pack/delete📈 view plot
🚷 view threshold
125.43 ns
(+6.11%)Baseline: 118.20 ns
157.50 ns
(79.64%)
Command_Serde/pack/delete_index📈 view plot
🚷 view threshold
109.65 ns
(+4.78%)Baseline: 104.65 ns
138.67 ns
(79.07%)
Command_Serde/pack/set📈 view plot
🚷 view threshold
198.05 ns
(+4.71%)Baseline: 189.13 ns
249.88 ns
(79.26%)
Command_Serde/pack/set_index📈 view plot
🚷 view threshold
109.83 ns
(+4.90%)Baseline: 104.70 ns
138.98 ns
(79.03%)
Command_Serde/unpack/delete📈 view plot
🚷 view threshold
187.82 ns
(+2.49%)Baseline: 183.26 ns
264.66 ns
(70.97%)
Command_Serde/unpack/delete_index📈 view plot
🚷 view threshold
157.12 ns
(+2.26%)Baseline: 153.64 ns
215.80 ns
(72.81%)
Command_Serde/unpack/set📈 view plot
🚷 view threshold
270.24 ns
(+5.77%)Baseline: 255.50 ns
348.79 ns
(77.48%)
Command_Serde/unpack/set_index📈 view plot
🚷 view threshold
155.55 ns
(+3.50%)Baseline: 150.29 ns
209.73 ns
(74.17%)
Payload_encryption/pack/remove_cmd📈 view plot
🚷 view threshold
115.57 ns
(+2.39%)Baseline: 112.88 ns
150.70 ns
(76.69%)
Payload_encryption/pack/set_cmd📈 view plot
🚷 view threshold
224.16 ns
(+15.32%)Baseline: 194.39 ns
263.52 ns
(85.06%)
Payload_encryption/unpack/remove_cmd📈 view plot
🚷 view threshold
203.93 ns
(+6.08%)Baseline: 192.24 ns
280.15 ns
(72.79%)
Payload_encryption/unpack/set_cmd📈 view plot
🚷 view threshold
282.25 ns
(+4.75%)Baseline: 269.45 ns
374.38 ns
(75.39%)
Raft_1Node_Latency/prefix/1node📈 view plot
🚷 view threshold
2,614,700.00 ns
(-2.94%)Baseline: 2,693,850.78 ns
6,692,309.49 ns
(39.07%)
Raft_1Node_Latency/read/1node📈 view plot
🚷 view threshold
43,927.00 ns
(+15.70%)Baseline: 37,965.02 ns
53,633.95 ns
(81.90%)
Raft_1Node_Latency/remove/1node📈 view plot
🚷 view threshold
404,370.00 ns
(-52.44%)Baseline: 850,235.47 ns
4,155,158.61 ns
(9.73%)
Raft_1Node_Latency/write/1node📈 view plot
🚷 view threshold
402,450.00 ns
(-59.06%)Baseline: 982,985.62 ns
5,499,041.49 ns
(7.32%)
build_snapshot/default📈 view plot
🚷 view threshold
113,850.00 ns
(-9.96%)Baseline: 126,442.11 ns
222,329.80 ns
(51.21%)
fernet token/project📈 view plot
🚷 view threshold
1,474.80 ns
(+4.13%)Baseline: 1,416.24 ns
1,799.18 ns
(81.97%)
get_data_keyspace📈 view plot
🚷 view threshold
0.33 ns
(+4.87%)Baseline: 0.31 ns
0.39 ns
(85.14%)
get_db📈 view plot
🚷 view threshold
0.33 ns
(+3.73%)Baseline: 0.31 ns
0.39 ns
(84.41%)
get_fernet_token_timestamp/project📈 view plot
🚷 view threshold
137.38 ns
(-1.86%)Baseline: 139.98 ns
179.04 ns
(76.73%)
get_keyspace📈 view plot
🚷 view threshold
4.33 ns
(-29.56%)Baseline: 6.15 ns
14.59 ns
(29.69%)
🐰 View full continuous benchmarking report in Bencher

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant